package com.jrx.anytxn.transaction.dto.payment;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 还款记录查询详情返回
 *
 * @author : zhenghaopu
 * 2019/11/20
 */
public class PaymentRecordDetailRes {
    /**
     * 还款金额
     */
    private BigDecimal repayAmount;
    /**
     * 还款本金
     */
    private BigDecimal repayPrinciple;
    /**
     * 还款利息
     */
    private BigDecimal repayInterest;
    /**
     * 还款罚息
     */
    private BigDecimal repayPenaltyInterest;
    /**
     * 还款复利
     */
    private BigDecimal repayCompoundInterest;
    /**
     * 还款费用
     */
    private BigDecimal repayFee;
    /**
     * 还款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date repayDate;
    /**
     * 还款流水号
     */
    private String paymentSeqNo;
    /**
     * 还款状态 S：成功过、F：失败、O：处理中
     */
    private String sumStatus;

    /**
     * txn发起支付时间
     */
    private String launchTime;

    /**
     * 客户发起还款时间
     */
    private String createTime;
    /**
     * 还款完成时间
     */
    private String completeTime;
    /**
     * 是否批扣 0 否 1 是
     */
    private String autoPaymentFlag;
    /**
     * 借款金额
     */
    private BigDecimal loanAmount;
    /**
     * 借据金额
     */
    private String loanId;
    /**
     * 银行卡号
     */
    private String bankcardNum;

    public BigDecimal getRepayAmount() {
        return repayAmount;
    }

    public void setRepayAmount(BigDecimal repayAmount) {
        this.repayAmount = repayAmount;
    }

    public BigDecimal getRepayPrinciple() {
        return repayPrinciple;
    }

    public void setRepayPrinciple(BigDecimal repayPrinciple) {
        this.repayPrinciple = repayPrinciple;
    }

    public BigDecimal getRepayInterest() {
        return repayInterest;
    }

    public void setRepayInterest(BigDecimal repayInterest) {
        this.repayInterest = repayInterest;
    }

    public BigDecimal getRepayPenaltyInterest() {
        return repayPenaltyInterest;
    }

    public void setRepayPenaltyInterest(BigDecimal repayPenaltyInterest) {
        this.repayPenaltyInterest = repayPenaltyInterest;
    }

    public BigDecimal getRepayCompoundInterest() {
        return repayCompoundInterest;
    }

    public void setRepayCompoundInterest(BigDecimal repayCompoundInterest) {
        this.repayCompoundInterest = repayCompoundInterest;
    }

    public BigDecimal getRepayFee() {
        return repayFee;
    }

    public void setRepayFee(BigDecimal repayFee) {
        this.repayFee = repayFee;
    }

    public Date getRepayDate() {
        return repayDate;
    }

    public void setRepayDate(Date repayDate) {
        this.repayDate = repayDate;
    }

    public String getPaymentSeqNo() {
        return paymentSeqNo;
    }

    public void setPaymentSeqNo(String paymentSeqNo) {
        this.paymentSeqNo = paymentSeqNo;
    }


    public String getLaunchTime() {
        return launchTime;
    }

    public void setLaunchTime(String launchTime) {
        this.launchTime = launchTime;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取 是否批扣 0 否 1 是
     *
     * @return autoPaymentFlag 是否批扣 0 否 1 是
     */
    public String getAutoPaymentFlag() {
        return this.autoPaymentFlag;
    }

    /**
     * 设置 是否批扣 0 否 1 是
     *
     * @param autoPaymentFlag 是否批扣 0 否 1 是
     */
    public void setAutoPaymentFlag(String autoPaymentFlag) {
        this.autoPaymentFlag = autoPaymentFlag;
    }

    /**
     * 获取 还款状态 S：成功过、F：失败、O：处理中
     *
     * @return sumStatus 还款状态 S：成功过、F：失败、O：处理中
     */
    public String getSumStatus() {
        return this.sumStatus;
    }

    /**
     * 设置 还款状态 S：成功过、F：失败、O：处理中
     *
     * @param sumStatus 还款状态 S：成功过、F：失败、O：处理中
     */
    public void setSumStatus(String sumStatus) {
        this.sumStatus = sumStatus;
    }

    /**
     * 获取 借款金额
     *
     * @return loanAmount 借款金额
     */
    public BigDecimal getLoanAmount() {
        return this.loanAmount;
    }

    /**
     * 设置 借款金额
     *
     * @param loanAmount 借款金额
     */
    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }

    /**
     * 获取 借据金额
     *
     * @return loanId 借据金额
     */
    public String getLoanId() {
        return this.loanId;
    }

    /**
     * 设置 借据金额
     *
     * @param loanId 借据金额
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取 银行卡号
     *
     * @return bankcardNum 银行卡号
     */
    public String getBankcardNum() {
        return this.bankcardNum;
    }

    /**
     * 设置 银行卡号
     *
     * @param bankcardNum 银行卡号
     */
    public void setBankcardNum(String bankcardNum) {
        this.bankcardNum = bankcardNum;
    }

    /**
     * 获取 还款完成时间
     *
     * @return completeTime 还款完成时间
     */
    public String getCompleteTime() {
        return this.completeTime;
    }

    /**
     * 设置 还款完成时间
     *
     * @param completeTime 还款完成时间
     */
    public void setCompleteTime(String completeTime) {
        this.completeTime = completeTime;
    }
}
